* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Don't accept
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Nov 2012 20:57:36 +0000 (15:57 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Nov 2012 20:57:36 +0000 (15:57 -0500)
non-symbols for compiler macros (yet).

lisp/ChangeLog
lisp/emacs-lisp/byte-run.el

index 7cae92e3eec973f88085a393323641dd13cc639e..cb555d69c51b9a475d41b6dfd5b04556e8d6ef1d 100644 (file)
@@ -1,5 +1,8 @@
 2012-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/byte-run.el (defun-declarations-alist): Don't accept
+       non-symbols for compiler macros (yet).
+
        * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838:
        Fallback on completion-at-point rather than
        pcomplete-expand-and-complete, and only if pcomplete actually failed.
index 462b4a25154830a839fb5eb12c84178dbed954d7..544b64bc3a6a7f3db3ade1b84954b5940733c6e0 100644 (file)
@@ -82,7 +82,9 @@ The return value of this function is not used."
              `(make-obsolete ',f ',new-name ,when)))
    (list 'compiler-macro
          #'(lambda (f _args compiler-function)
-             `(put ',f 'compiler-macro #',compiler-function)))
+             (if (not (symbolp compiler-function))
+                 (error "Only symbols are supported in `compiler-macro'")
+               `(put ',f 'compiler-macro #',compiler-function))))
    (list 'doc-string
          #'(lambda (f _args pos)
              (list 'put (list 'quote f) ''doc-string-elt (list 'quote pos))))